export interface RouteConfig {
  path: string
  name?: string
  component?: any
  redirect?: string
  meta?: {
    title?: string
    isShow?: boolean
    icon?: string
    id?: string
  }
  children?: RouteConfig[]
}

interface RouteMeta {
  isShow: boolean
  title?: string
  icon?: string
  id?: number
  roles?: string[]
}

interface ChildRoute {
  path: string
  component: () => Promise<any>
  name: string
  meta: RouteMeta
}

export interface MainRoute {
  path: string
  name: string
  component: () => Promise<any>
  redirect?: string
  meta: RouteMeta
  children?: ChildRoute[]
}